@echo off
set ROOT_DIR=%WSS_HOME%
set temp_file=%ROOT_DIR%base\_wss_tmp.txt
set "target_file=%ROOT_DIR%entry_info.txt"
rem 计算文件总行数
type "%target_file%" | find /c /v "" > "%temp_file%" && set /p total_lines=<"%temp_file%"

if "%total_lines%" equ "0" goto:eof
if "%total_lines%" equ "" goto:eof
rem 如果行数大于0，则跳过前面的 N-1 行，读取最后一行
if "%total_lines%" equ "1" (
	set /p last_line=<"%target_file%"
	goto:PrintVersion
) else (
	set /a lines_to_skip=%total_lines%-1
	rem bat脚本中的解析动作是按照代码块进行的
	rem 这里使用goto, 将变量使用推迟到变量赋值之后，可以避免使用延迟扩展
	rem 如果不适用goto, 逻辑放到这里,涉及延迟扩展,比较麻烦,得不到想要的结果
	goto:GetLastLine
)
goto:eof

:GetLastLine
rem 这里的 line_to_skip 需要运行到这里才能展开解析, 不能提前解析，所以要放到函数里面
for /f "usebackq skip=%lines_to_skip% delims=" %%b in ("%target_file%") do (
	set "last_line=%%b"
	goto:PrintVersion
)
goto:eof

:PrintVersion
		echo. version: %last_line%
		echo.    Install at %ROOT_DIR%
goto:eof